224
M. Polychronaki et al.
Last but not least, Sovrin’s SSI use for IoT [31] is worth mentioning due to the in-
depth analysis and fine-grained design of a decentralized IAM architecture, focusing
on machine-to-machine (M2M) communication. The architecture is designed as such
inordertohandletheprocessorconstraintsofIoTdevices’performance.Thelifecycle
of devices consisted of two phases is presented while, once again, the use of DIDs
and VCs is imperative in order to maintain privacy and control the access of devices
and users to data without providing any piece of their identity content.
3.4
The State of the SSI
The SSI model has been implemented by various platforms, one of the most known
is the Hyperledger Indy framework [32]. Sovrin along with Hyperledger build this
framework which operates on a blockchain network and allows the creation of decen-
tralized identities which are rooted on the blockchain but owned and managed by the
users. Indy can also utilize cryptography libraries to enable Zero Knowledge Proofs
(ZKPs) if the programmer chooses so. Unfortunately, Indy is not specified for use in
IoT environments or devices, so its analysis was out of the scope of this paper. The
wallet for interacting with the network is an application that must be programmed
from zero while the computations which a Hyperledger Indy Node must perform
cannot be supported by low-end devices.
On the other hand, there are several solutions of blockchain designed for IoT
environments but they do not fully implement a truly decentralized identity model,
rather they use gateways for the edge devices which are either communicating with
the blockchain network or constitute a network node. IOTA [33] is a DLT platform
and not blockchain, which is built considering the low computational power of IoT
devices. Indeed, it allows for wallets to be used from low-end devices as well as be
part of a network with the operation of a light node. However, IOTA up until very
recently could not support smart contracts, making it impossible to implement any
customized logic beyond simply inserting data in the ledger. Consequently, there was
no way of implementing an IAM model using this network.
4
Cryptography: The Key to Privacy and Security
Throughout this chapter, the significance of cryptography is strongly pointed out
several times. Truly, the basis of blockchain’s security is the use of cryptographic
methods. Typically, there are two types of cryptography algorithms used in a
blockchain network:
• Hashing algorithms for ensuring the property of the ledger’s chain, binding the
blocks with each other, and for building a Merkle tree of all transactions written
in the ledger.